1. Field of the Invention
The present invention relates to decoding a received signal in a receiver of a digital communication system. The invention particularly relates to handling of speech coding parameters obtained from a channel decoder prior to the actual decoding to be carried out in the speech decoder.
2. Description of Related Art
In systems transmitting speech in digital form, such as mobile radio systems, the speech signal is first coded by some method prior to channel coding and transmission on the radio path. Speech that is digitalized in the speech coding is handled on a frame-by-frame basis in time intervals of approximately 20 ms by utilizing various kinds of methods, resulting in a frame specific set of parameters which characterize the speech. This information, i.e. the set of parameters, is channel coded and transmitted to the transmission path. In the channel coding, the information is protected by various kinds of error correction codes.
Upon receiving a radio signal, the signal is first channel decoded, whereby the original speech frames are obtained unless the transmission channel has caused disturbances. Speech frames of good quality may directly be applied to the speech decoder and used for speech synthesization. As is well known, the radio path is more or less under disturbance, which means, also as far as communication systems transmitting speech over the radio path are concerned, that some of the transmitted speech frames may as a result of the transmission errors prove to be erroneous at the reception to such an extent that they cannot be used for speech synthesization. Even if such codes that efficiently correct errors were used to protect the information to be transmitted, the received parameter values may still include serious transmission errors. The most significant parameters to be transmitted are, for the above reason, protected not only by the aforementioned error correction code but also by an error protection code, such as a CRC check sum (Cyclic Redundancy Check), capable of detecting errors. The check sum coding is capable of detecting speech frames that are badly corrupted in the transmission channel, and, consequently, it is possible to block their use for speech synthesization. The blocking procedure is imperative in order for the badly corrupted speech parameters not to cause heavy interference, e.g. clicks, in the synthesized speech. Upon detecting that a speech frame has been received so badly corrupted in the transmission channel that it is no longer possible to use the frame for speech synthesization, the received frame is classified as "a bad frame". The bad frames are separated from the rest of the speech frames, which are consequently called "good frames". Under extreme conditions on the radio path, situations emerge during which several successive speech frames received must be rejected and speech frames might even be lost over a period of several seconds.
In present-day digital cellular communication systems, such as the GSM (Groupe Special Mobile), an efficient error correction coding is utilized, enabling transmission of speech with good quality even over a bad quality connection. When the error correction capability of the error correction finally at some stage is exceeded, the received speech frames can no longer be used for speech synthesization. In such a case, a substitution method for bad frames is initiated, utilizing the aforementioned classification of speech frames as good and bad ones.
In the substitution process, the parameter values of bad frames are substituted for parameter values that cause as little audible disturbance as possible. A method proved to be proficient is to substitute all the parameter values of a bad, frame for the parameter values of the last received frame that is classified as good, and to feed the speech coder repetitively with the substitution frame. By repeating previous parameters, speech can indeed be synthesized for a while without causing any disturbing listening sensation, but due to the speech signal characteristics changing heavily as a function of time, it is not possible to carry out the repeating of the parameters of the last good frame for very long. The aforementioned GSM system has a recommendation according to which the repeating is to be continued for 320 ms, maximum, after which such parameters are applied to the speech decoder, which completely mute its output. In the case of more than one successive bad frame, it is a known procedure to attenuate the speech signal which is obtained from the speech decoder already during the substitution process. This results in the speech signal obtained by the substitution method gradually attenuating during the substitution process. At least two attenuation methods can be discerned.
FIG. 1a is a block diagram illustration of a first embodiment of a prior art substitution method for bad frames, and of incorporating the substitution method into a speech decoder. This figure, as well as the latter figures, shows by means of a thick line transmission of several parallel speech coding parameters from a block to another. A channel decoding block 102 provides speech parameter values 103 that are channel decoded and error corrected. In case not very many serious errors have been detected in the speech parameters of the received speech frame 101, the speech parameters are applied to a speech decoder 108, and the speech parameters are utilized for synthesizing a speech signal to be applied to an audio speaker 110. If, however, the received speech frame is detected to be bad, the received speech parameters are not inputted to the speech decoder, but the speech parameters of the last good frame are used instead. A channel decoder provides a classification signal 106 indicative of the badness of the received speech frame. On the basis of the classification signal 106, a switch 107 will be controlled as follows: if a good frame has been received, the switch is in position 1, whereby the received parameters 103 are applied to the speech decoder 108. If a bad frame has been received, the switch is in position 2, whereby the parameters 105 received during the last good frame are applied to the speech decoder. The parameters 105 are obtained from the block 104 which stores the parameters of the last good speech frame received. When several successive bad speech frames are substituted the output of the speech decoder is attenuated during the substitution process in attenuation means 109. In the case of good frames, the means 109 has a zero attenuation.
FIG. 1c discloses how the attenuation of block 109 in FIG. 1a takes place on the basis of the classification signal 106 of bad frames. It illustrates the behaviour of an attenuation coefficient "a" as a function of the number of successive bad frames. The speech signal which has been decoded during the substitution process is attenuated by decreasing the value of the coefficient "a" so that the speech signal is the more attenuated the larger number of successive speech frames are lost, until the signal to be applied to the audio speaker is finally completely attenuated, i.e. muted. The horizontal axis of FIG. 1c indicates which successive frame in succession is being handled. If N=0, a good frame is being handled, meaning that there is no attenuation, and the speech decoder output inputted to the block 109 is applied as such to the audio speaker 110. If N=1, the first bad frame after a good frame is in question. There is usually no attenuation for such a first frame to be substituted, but it is also applied to the audio speaker without attenuation. But if the value of N=2, i.e. a second successive bad frame has been received, the attenuation of the speech decoder output is initiated prior to applying the output to the audio speaker. The larger number of successive bad frames are received, the more the speech signal generated by the substitution process is attenuated in the block 109.
FIG. 1b is a block diagram illustration of a second embodiment of a prior art substitution method for bad frames, and of incorporating the substitution method into a speech decoder. This embodiment is more commonly in use than the method of the first embodiment. According to the second embodiment, the attenuation of a speech signal to be synthesized during the substitution process is carried out prior to the speech decoder by handling the value of one or more speech coding parameters that influence the amplitude of the speech to be decoded so that the speech signal to be decoded is attenuated. For reasons of clarity, the following only deals with handling of one speech coding parameter having influence on the speech amplitude, although the desired attenuation may be achieved as a result of interaction of several parameters, depending on the coding algorithm. The implementation illustrated in FIG. 1b is similar to that of FIG. 1a, except that the speech decoder output is attenuated by attenuating, instead of the speech decoder output, a parameter influencing the amplitude of the speech signal to be synthesized during the substitution process, an example of such a signal being a gain parameter of an excitation signal in LPC (Linear Predictive Coding) type of speech decoders. The block 209 attenuates this parameter only, and other LPC coefficient parameters that influence, for example, frequency contents, are passed through as such to the switch 107. The parameter influencing the amplitude is attenuated by the attenuation parameter "a" beginning from the initial value the parameter had in the last good frame. Also in this case, the behaviour of the attenuation parameter "a" as a function of successive bad frames follows the curve illustrated in FIG. 1c.
A substitution process such as the one shown in FIG. 1b is disclosed in the GSM recommendation 06.11, which illustrates an algorithm according to which the attenuation of the amplitude of a speech signal obtained by a substitution process is initiated beginning from the second speech frame to be substituted. The attenuation is carried out by decreasing the Xmaxcr value of a gain parameter for excitation of an RPE-LTP (Regular Pulse Excitation--Long Term Prediction) speech coder. After the sixteenth successive bad frame, i.e. after the time of 320 ms, at the latest, such parameter values are applied to the speech decoder that completely mute the output of the speech decoder. Consequently, during a sequence of bad frames longer than this, the phone will be muted completely.
The prior art methods described above share the common feature that the substitution is sooner or later brought to a halt, causing a complete muting of the signal applied to the audio speaker. If the sudden muting of the phone lasts for several seconds, it is a very annoying experience for the person listening to the speech signal. The user will be left uncertain whether the connection has broken, whether the interlocutor has unexpectedly ceased talking, or whether the muting of the phone is a result of the received parameters having been classified as too erroneous, leading to intentional muting of the phone. Thus, the user may switch off the phone although it is possible for the transmission channel to regain such a good quality that the error correction coding is again capable for an adequate enough correction of the errors caused by the transmission channel, and classifies the received frames as good frames for speech synthesization.
It is an object of the present invention to provide a bad frame substitution method and a speech decoder by a receiver as claimed in claim 10.